package com.lsh.oms.api.endpoint.core;

import javax.ws.rs.core.Response;
import javax.ws.rs.core.UriInfo;
import java.util.Map;

public interface ReturnsResource {

    Response query(UriInfo uriInfo, long page, long pageLimit);

    Response find(Long id, boolean detailsRequired);

    Response summary(UriInfo uriInfo);

    Response check(Long id, Map<String, Object> request);

    Response confirm(Long id, Map<String, Object> request);

    Response preDeliver(Long id, Map<String, Object> request);

    Response deliver(Long id, Map<String, Object> request);

    Response returned(Long id, Map<String, Object> request);

    Response cancel(Long id, Map<String, Object> request);

    Response launch(Long id, Map<String, Object> request);

    Response refund(Long id, Map<String, Object> request);

    Response returnResults(Long id, UriInfo uriInfo, long page, long pageLimit);

    Response returnResult(Long id, Long resultId);

    Response relations(Long id);

    Response returnResultPaymentNotify(Long id,
                                       Long resultId,
                                       Map<String, Object> request);

    Response executeReturnResult(Long id,
                                 Long resultId,
                                 Map<String, Object> request);

    Response issueReturnResult(Long id,
                               Long resultId,
                               Map<String, Object> request);

    Response updateDetail(Long id,
                          Long detailId,
                          Map<String, Object> request);
}
